﻿#region Description
/*  File Name:      GameScreenTest.cs
 *  Author:         Adam Goodchild
 *  
 *  Description:    This is a Screen used to Test out Game Play.
*/
#endregion

#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Graphics;
using MinimizeEngine.Managers;
using MinimizeEngine.Menu_System;
using MinimizeEngine.Screens;
using MinimizeEngine.Entities;
using MinimizeEngine.Components.Render;
using MinimizeEngine.Entities.Grid_System;
using MinimizeEngine.Components.Render.Grid_System;
#endregion

namespace MinimizeEngineDemo.Screens
{
    public class GameScreenTest : MEBaseScreen
    {

        #region Fields
        
        #endregion

        #region Initialization

        /// <summary>
        /// Constructs a new Main Menu
        /// </summary>
        public GameScreenTest()
        {
            TransitionOnTime = TimeSpan.FromSeconds(1.5);
            TransitionOffTime = TimeSpan.FromSeconds(0.5);
        }

        public override void LoadContent()
        {

        }

        public override void UnloadContent()
        {
            MESceneGraphManager.UnloadContent();
        }

        #endregion

        #region Handle Input

        public override void HandleInput(MEInputManager inputManager)
        {
            if (inputManager.IsPause())
            {
                MEEngineManager.Game.Exit();
            }
        }

        #endregion

        #region Update

        public override void Update(GameTime gameTime, bool otherScreenHasFocus, bool coveredByOtherScreen)
        {
            base.Update(gameTime, otherScreenHasFocus, coveredByOtherScreen);
        }

        #endregion

        #region Draw

        public override void Draw(GameTime gameTime)
        {
            base.Draw(gameTime);

            //Display Sample Information
            MEScreenManager.DrawMessage("This is the Game Play Screen.", new Vector2(10, 10), Color.Black);
            MEScreenManager.DrawMessage("Each Screen is a different 'state' in the Minimize Engine.", new Vector2(10, 35), Color.Black);
            MEScreenManager.DrawMessage("You can Exit by pressing the Escape key.", new Vector2(10, 60), Color.Black);
        }

        #endregion
    }
}
